// com.huaxin.device.service.CircuitBreakerScheduleService
package com.huaxin.device.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huaxin.device.dto.ResponseResult;
import com.huaxin.device.dto.request.CircuitBreakerScheduleCreateReqDTO;
import com.huaxin.device.dto.request.CircuitBreakerSchedulePageListReqDTO;
import com.huaxin.device.dto.request.CircuitBreakerScheduleUpdateReqDTO;
import com.huaxin.device.models.CircuitBreakerSchedule;

public interface CircuitBreakerScheduleService extends IService<CircuitBreakerSchedule> {

    /**
     * 创建断路器定时任务
     */
    ResponseResult<CircuitBreakerSchedule> create(CircuitBreakerScheduleCreateReqDTO in);

    /**
     * 根据ID查询断路器定时任务
     */
    CircuitBreakerSchedule getByScheduleId(String id);

    /**
     * 更新断路器定时任务
     */
    ResponseResult<String> update(CircuitBreakerScheduleUpdateReqDTO in);

    /**
     * 删除断路器定时任务（仅允许禁用状态删除）
     */
    ResponseResult<String> delete(String id);

    /**
     * 启用任务
     */
    ResponseResult<String> enable(String id);

    /**
     * 禁用任务
     */
    ResponseResult<String> disable(String id);

    /**
     * 分页查询
     */
    ResponseResult<IPage<CircuitBreakerSchedule>> pageQuery(CircuitBreakerSchedulePageListReqDTO in);
}